core: Clean up temporary file creation
authorColin Walters <walters@verbum.org>
Tue, 6 Aug 2013 21:58:29 +0000 (23:58 +0200)
committerColin Walters <walters@verbum.org>
Tue, 6 Aug 2013 21:58:29 +0000 (23:58 +0200)
Use new libgsystem API, don't expose the repo's tmpdir.

src/libgsystem
src/libostree/ostree-core.c
src/libostree/ostree-core.h
src/libostree/ostree-fetcher.c
src/libostree/ostree-repo-pull.c
src/libostree/ostree-repo.c
src/libostree/ostree-repo.h

index f56702ef40a5df056097d2e14ee0dac3614b744c..3dee2f23ac34d1d5ce2ed8cbad14cb0596d2b57f 160000 (submodule)
@@ -1 +1 @@
-Subproject commit f56702ef40a5df056097d2e14ee0dac3614b744c
+Subproject commit 3dee2f23ac34d1d5ce2ed8cbad14cb0596d2b57f
index 1a1b396f42ebe9f96e3403ad3d80e004f3b5c3ae..eef974aae0e54a1bc2c4b3aa821a8c29dd3a76f7 100644 (file)
@@ -1364,37 +1364,6 @@ ostree_create_temp_file_from_input (GFile            *dir,
   return ret;
 }
 
-gboolean
-ostree_create_temp_regular_file (GFile            *dir,
-                                 const char       *prefix,
-                                 const char       *suffix,
-                                 GFile           **out_file,
-                                 GOutputStream   **out_stream,
-                                 GCancellable     *cancellable,
-                                 GError          **error)
-{
-  gboolean ret = FALSE;
-  gs_unref_object GFile *ret_file = NULL;
-  gs_unref_object GOutputStream *ret_stream = NULL;
-
-  if (!ostree_create_temp_file_from_input (dir, prefix, suffix, NULL, NULL, NULL,
-                                           &ret_file, cancellable, error))
-    goto out;
-  
-  if (out_stream)
-    {
-      ret_stream = (GOutputStream*)g_file_append_to (ret_file, 0, cancellable, error);
-      if (ret_stream == NULL)
-        goto out;
-    }
-  
-  ret = TRUE;
-  ot_transfer_out_value(out_file, &ret_file);
-  ot_transfer_out_value(out_stream, &ret_stream);
- out:
-  return ret;
-}
-
 gboolean
 ostree_create_temp_dir (GFile            *dir,
                         const char       *prefix,
index 7a78e1abaa36fffdbe27cdb9820b218089d8b6b4..cc940e664c1717ea045ca1a205b4b11e6b230423 100644 (file)
@@ -269,14 +269,6 @@ gboolean ostree_create_temp_file_from_input (GFile            *dir,
                                              GCancellable     *cancellable,
                                              GError          **error);
 
-gboolean ostree_create_temp_regular_file (GFile            *dir,
-                                          const char       *prefix,
-                                          const char       *suffix,
-                                          GFile           **out_file,
-                                          GOutputStream   **out_stream,
-                                          GCancellable     *cancellable,
-                                          GError          **error);
-
 gboolean ostree_create_temp_dir (GFile            *dir,
                                  const char       *prefix,
                                  const char       *suffix,
index f330150c7fa4a083a46e6f274770b1b134527e92..e1f3db2aea20c6e468903ce81b1f153bbf7d15cf 100644 (file)
@@ -228,11 +228,9 @@ on_request_sent (GObject        *object,
   pending->content_length = soup_request_get_content_length (pending->request);
   
   /* TODO - make this async */
-  if (!ostree_create_temp_regular_file (pending->self->tmpdir,
-                                        NULL, NULL,
-                                        &pending->tmpfile,
-                                        &pending->out_stream,
-                                        NULL, &local_error))
+  if (!gs_file_open_in_tmpdir (pending->self->tmpdir, 0644,
+                               &pending->tmpfile, &pending->out_stream,
+                               NULL, &local_error))
     {
       g_simple_async_result_take_error (pending->result, local_error);
       g_simple_async_result_complete (pending->result);
index 83ff8c08b32c2fcf811ae494f4c28428b6dd5935..711fd31e7582feb16607fddae41fda95f52967c8 100644 (file)
@@ -68,6 +68,7 @@
 #include "config.h"
 
 #include "ostree.h"
+#include "ostree-repo-private.h"
 #include "ostree-fetcher.h"
 #include "otutil.h"
 
@@ -1225,7 +1226,7 @@ ostree_repo_pull (OstreeRepo               *repo,
   if (tls_permissive)
     fetcher_flags |= OSTREE_FETCHER_FLAGS_TLS_PERMISSIVE;
 
-  pull_data->fetcher = ostree_fetcher_new (ostree_repo_get_tmpdir (pull_data->repo),
+  pull_data->fetcher = ostree_fetcher_new (pull_data->repo->tmp_dir,
                                            fetcher_flags);
 
   if (!pull_data->base_uri)
index 226678eebb1f5974c7194d19e8527945a7634c9d..4ae2ba0ff96d9cf775fee3e231a7269fd638e60c 100644 (file)
@@ -387,18 +387,6 @@ ostree_repo_get_path (OstreeRepo  *self)
   return self->repodir;
 }
 
-/**
- * ostree_repo_get_tmpdir:
- * @self:
- *
- * Returns: (transfer none): Path to temporary directory
- */
-GFile *
-ostree_repo_get_tmpdir (OstreeRepo  *self)
-{
-  return self->tmp_dir;
-}
-
 OstreeRepoMode
 ostree_repo_get_mode (OstreeRepo  *self)
 {
@@ -584,10 +572,9 @@ stage_object (OstreeRepo         *self,
           gs_unref_object GConverter *zlib_compressor = NULL;
           gs_unref_object GOutputStream *compressed_out_stream = NULL;
 
-          if (!ostree_create_temp_regular_file (self->tmp_dir,
-                                                ostree_object_type_to_string (objtype), NULL,
-                                                &temp_file, &temp_out,
-                                                cancellable, error))
+          if (!gs_file_open_in_tmpdir (self->tmp_dir, 0644,
+                                       &temp_file, &temp_out,
+                                       cancellable, error))
             goto out;
           temp_file_is_regular = TRUE;
 
@@ -633,10 +620,9 @@ stage_object (OstreeRepo         *self,
               guint32 src_mode;
               guint32 target_mode;
 
-              if (!ostree_create_temp_regular_file (self->tmp_dir,
-                                                    ostree_object_type_to_string (objtype), NULL,
-                                                    &raw_temp_file, &content_out,
-                                                    cancellable, error))
+              if (!gs_file_open_in_tmpdir (self->tmp_dir, 0644,
+                                           &raw_temp_file, &content_out,
+                                           cancellable, error))
                 goto out;
 
               /* Don't make setuid files in the repository; all we want to preserve
index 8179f6840d93f908ecdef47408f88a633306cc64..e67a6f39534f527b27abb0c3c3a6cd1ad08f1c7f 100644 (file)
@@ -53,8 +53,6 @@ gboolean       ostree_repo_mode_from_string (const char      *mode,
 
 OstreeRepoMode ostree_repo_get_mode (OstreeRepo  *self);
 
-GFile *       ostree_repo_get_tmpdir (OstreeRepo  *self);
-
 GKeyFile *    ostree_repo_get_config (OstreeRepo *self);
 
 GKeyFile *    ostree_repo_copy_config (OstreeRepo *self);